/**
 *
 */
package commons.beancopier;

import com.tmall.common.beancopier.mapper.PropertiesMapper;

/**
 * @author 陌铭(Phenix Huang)
 *
 */
public interface PropertyCopier {

    /**
     * copy the value to the property of dest. if successful, return 1, otherwise return 0.
     * @param dest
     * @param propertyName
     * @param propertyType
     * @param value
     * @return
     * @throws Exception
     */
    public int copyProperty(Object dest, String propertyName, Class<?> propertyType, Object value) throws Exception ;

    public PropertiesMapper getPropertyMapper(Class<?> clz) ;

    public BeanCopier getBeanCopier() ;
}
